home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-06-10 | 1.4 KB | 70 lines | [TEXT/PJMM] |
- unit MiscUtils;
-
- { Created June 10, 1990, as part of AreaTrix.}
-
- interface
-
-
- uses
- Globals;
-
- function MakeHexString (Value: integer): str255;
-
- function HexNode (NodeID: str255): str255;
-
- implementation
-
- { ------------------------------------------------------ }
-
- function DoMath (var Value: integer; Divisor: integer): char;
-
- var
- Digit: integer;
-
- begin
- Digit := Value div Divisor;
- if Digit > 9 then
- DoMath := char(ord('A') + Digit - 10)
- else
- DoMath := char(ord('0') + Digit);
- Value := Value mod Divisor
- end;
-
- { ------------------------------------------------------ }
-
- function MakeHexString;
-
- var
- TempString: str255;
-
- begin
- TempString := DoMath(Value, 4096);
- TempString := concat(TempString, DoMath(Value, 256));
- TempString := concat(TempString, DoMath(Value, 16));
- TempString := concat(TempString, DoMath(Value, 1));
- MakeHexString := TempString
- end;
-
- { ------------------------------------------------------ }
-
- function HexNode (NodeID: str255): str255;
-
- var
- Value: longint;
- TempString1, TempString2: str255;
-
- begin
- if pos('/', NodeID) > 0 then
- begin
- TempString1 := copy(NodeID, 1, pos('/', NodeID) - 1);
- StringToNum(TempString1, Value);
- TempString1 := MakeHexString(Value);
- TempString2 := copy(NodeID, pos('/', NodeID) + 1, 255);
- StringToNum(TempString2, Value);
- HexNode := concat(TempString1, MakeHexString(Value))
- end
- else
- HexNode := '00000000'
- end;
-
- end. {Unit}